Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BigTable
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwawBigTable è un sistema proprietario di mwbabase di dati compresso ad alte prestazioni, sviluppato da mwbqGoogle a partire dal mwbg2004 e costruito su mwbwGoogle File System (GFS), su Chubby Lock Service, su SSTable e su alcune altre tecnologie di Google. Sebbene cominci dalla tipica convenzione di un numero fisso di colonne, condivide le caratteristiche sia di database orientati alla riga che di quelli orientati alla colonna.

Le ragioni che hanno spinto Google a sviluppare il proprio database sono la mwcgscalabilità e un miglior controllo sulle caratteristiche prestazionali: è progettato per poter supportare carichi a livello del petabyte attraverso centinaia o migliaia di macchine e di rendere facile l'aggiunta di nuove macchine al sistema, utilizzando le nuove risorse senza che sia necessaria alcuna riconfigurazione.cite-ref-o-reilly-1-0[1]

Il prodotto viene utilizzato internamente da diverse applicazioni di Google come: mweaMapReduce, mweqGoogle Reader, mwegGoogle Maps, mwewGoogle Libri, mwfaGoogle Earth, mwfqBlogger.com, Google Code hosting, mwfwOrkut, mwgaYouTube, mwgqGmail e ne viene offerto l'accesso come parte del mwggGoogle App Engine.

Dal 6 maggio 2015, Google ha lanciato una versione pubblica di BigTable col nome di mwhaGoogle Cloud Bigtable.cite-ref-2[2]

Contents

Note

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Descrizione

BigTable Data Model

Bigtable è una mappa ordinata multi-dimensionale sparsa, distribuita e persistente.

Il mwjgmodello dei dati utilizza tre diversi tipi di indicizzazione:

Chiavi di riga
Le chiavi di riga sono stringhe arbitrarie ed ogni lettura/scrittura di dati su una riga è un'operazione atomica. Non viene quindi permesso l'accesso contemporaneo alla stessa chiave di riga. Ogni riga può essere partizionata dinamicamente in tablet in modo da poter distribuire il carico e bilanciarlo.

Chiavi di colonna
Le chiavi di colonna sono raggruppate in set detti famiglie di colonne dove ogni famiglia contiene lo stesso tipo di dato.
I dati nelle chiavi di colonna di una famiglia sono salvati all'interno di una famiglia di colonne e identificati tramite chiavi di colonna chiamate mwlgFamily Qualifier.

TimeRest (cit.)
Ogni cella di una tabella in BigTable può contenere più versioni dello stesso dato, e per indicizzare queste versioni utilizzo il Time Stamp che identifica univocamente la versione del dato. Generalmente la versione più recente è quella che viene letta per prima e l'applicativo decide quante versioni mantenere per ogni cella.

BigTable Partition Model

Il sistema BigTable è composto da tre componenti.

Tablet
Ogni Tablet è identificato da un mwnwTablet Identifier e dal range di chiavi di riga di cui è responsabile. Le dimensioni di un Tablet variano dai 100MB ai 200MB.
A sua volta ogni Tablet è costituito da più SSTablecite-ref-3[3] (BigTable File Format) che sono utilizzate per salvare e recuperare le coppie chiave-dato.
Una funzione fondamentale è che le SSTable possono essere condivise su più Tablet.

Tablet Server
Ogni Tablet è assegnato a un solo mwqgTablet Server che può contenerne da 10 a 1000.
I Tablet Server possono splittare i Tablet che diventano troppo grandi. Ogni Tablet Server è responsabile delle proprie Tablet locali.

Master Server
Il master server ha tre compiti fondamentali: mwrwmwsaassegnare i vari tablet ai Tablet Server mwsqgestire l'aggiunta o l'eliminazione dei Tablet Server mwsgbilanciare il carico tra i vari server
Il Master Server tiene in memoria un elenco di Tablet attualmente attive e anche una lista degli assegnamenti di tutti i tablets ai rispettivi Tablets Servers.

Operazioni di lettura e scrittura

La replicazione dei dati è gestita dal mwtgGoogle File System. Ogni Tablet ha una propria Memtablecite-ref-4[4] e la comunicazione dei client con i singoli Tablet Server per operazioni di lettura/scrittura avviene in maniera diretta.

Operazioni di scrittura

La richiesta di scrittura arriva direttamente al tablet server che:

• segna sul LOG la richiesta
• dopo il commit successivo ad un'operazione di scrittura, il contenuto viene inserito nella Memtable che si trova in memoria RAM
• ogni volta che viene effettuata una scrittura, la Memtable aumenta di misura fino a quando non raggiunge il limite massimo; raggiunto il limite la Memtable viene "congelata" e diventa una SSTable.

Successivamente viene generata una nuova Memtable.

Operazioni di lettura

La richiesta di lettura viene inviata al Tablet Server, e questa avviene tramite una consultazione contemporanea della SSTable che appartiene al tablet e l'attuale Memtable.

Note

cite-note-o-reilly-11. mwywmwzamwzq"Database War Stories #7: Google File System and BigTable"
cite-note-22. mwaqGoogle, mwagmwawCloud Bigtable, su mwbacloud.google.com.
cite-note-33. mwcamwcqmwcg"ApacheWiki, SSTable, su mwcwwiki.apache.org. mwdaURL consultato il 29 aprile 2019 mwdq(archiviato dall'mwdgurl originale il 28 giugno 2017).
cite-note-44. mwegmwewmwfa"ApacheWiki, Memtable", su mwfqwiki.apache.org. mwfgURL consultato il 29 aprile 2019 mwfw(archiviato dall'mwgaurl originale il 26 novembre 2018).

Voci correlate

• DBMS orientati alla colonna
• mwiaLevelDB

Collegamenti esterni

• Sito ufficiale, su cloud.google.com.
• citerefbritannica-com(EN) Bigtable, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.